﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CSP.Model.CSP;
using CSP.Model.CSPEnum;

namespace CSP.Bll.IObjectBlls
{
    public interface ICollectBusinessInfoBll : ICSPBll<CollectBusinessInfo>
    {
        /// <summary>
        /// 根据名称和用户名查找信息
        /// </summary>
        /// <param name="name"></param>
        /// <param name="userName"></param>
        /// <returns></returns>
        List<int> FindIdsByNameAndUserName(string name, string userName);

        /// <summary>
        /// 根据名称查找信息
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        List<int> FindIdsByName(string name);

        /// <summary>
        /// 根据状态和用户名超找信息
        /// </summary>
        /// <param name="status"></param>
        /// <param name="userName"></param>
        /// <returns></returns>
        List<int> FindIdsByStatusAndUserName(CollectBusinessInfoStatus status, string userName);

        /// <summary>
        /// 根据用户名查找信息
        /// </summary>
        /// <param name="userName"></param>
        /// <returns></returns>
        List<int> FindIdsByUserName(string userName);

        /// <summary>
        /// 根据主键Ids和分页索引以及分页数量获取数据
        /// </summary>
        /// <param name="ids"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        ICollection<CollectBusinessInfo> FindByIdsAndPageIndexAndPageSize(List<int> ids, int pageIndex, int pageSize);

        /// <summary>
        /// 根据id和UserName 删除数据
        /// </summary>
        /// <param name="id"></param>
        /// <param name="userName"></param>
        /// <returns></returns>
        CollectBusinessInfo DeleteByIdAndUser(int id, string userName);
    }
}
